博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
base64图片上传,推到又拍云
阅读量:5082 次
发布时间:2019-06-13

本文共 3771 字,大约阅读时间需要 12 分钟。

Html部分

 

Js部分

//单文件上传    function previewFile(){        var file=document.getElementById('tou').files[0];        var reader=new FileReader();        reader.addEventListener('load',function(){            $.ajax({                type:'post',                url:'http://api.xxx.cn/api/up',                datatype:'josn',                data:{img:reader.result},                success:function(response){                    document.getElementById('nvhai').setAttribute('src','http://img.xxx.cn/'+response);                }            });            document.getElementById('nvhai').setAttribute('src',reader.result);        },false);        reader.readAsDataURL(file);    } function MorepreviewFile(){        var file=document.getElementById('moretou').files;        if(file.length>8){            $('.mo').html('选择的图片不能超过8张,请重新选择');            $('.mo').fadeIn('fast');            setTimeout(function(){                $('.mo').fadeOut('fast');            },1500)        }else{            for(var i=0;i
"); } } } }

 

Php部分

/**     * 上传图片并且又拍云 2017/3/3     * @param:img resource图片的base64代码,包含头文件     * @Return: array 是否上传成功呢     * @Author: xiaohu mr_xdh@qq.com     */    public function up()    {       $pic = I('img');       //解码上传       $pic_url =  pic_decode_base64($pic,'./upload/');       //推到又拍云       $qrcode = substr($pic_url, 1);       $upun = upimg($qrcode);       $this->ajaxreturn($upun);    }

函数库

//=============================================图片上传中心=base64/又拍云================================================    /**TODO 上传图片base64     * 上传的base64图片进行转换并上传     * @param  resource 图片的base64代码,包含头文件     * @param  string 上传的路径     * @return 图片地址     * @author 小虎 mr_xdh@qq.com     */    function pic_decode_base64($file,$path='./upload/')    {        // 获取图片        list($type, $data) = explode(',', $file);        // 判断图片类型        if(strstr($type,'image/jpeg')!=''){            $ext = '.jpg';        }elseif(strstr($type,'image/gif')!=''){            $ext = '.gif';        }elseif(strstr($type,'image/png')!=''){            $ext = '.png';        }        // 生成的文件名        $photo = $path.uniqid().$ext;        // 生成文件        $Temp = base64_decode($data);        $temp = gzinflate($Temp);        file_put_contents($photo, $Temp, true);        return $photo;    }    /**TODO 上传图片到又拍云     * 上传图片到又拍云     * @param  string $img     * @return string     */    function upimg($img)    {        set_time_limit(0);        ini_set('memory_limit', '512M');        $process = curl_init('http://v0.api.upyun.com/XXX/upload/' .date('Ymd'). $img);        // 上传操作        curl_setopt($process, CURLOPT_PUT, 1);        curl_setopt($process, CURLOPT_USERPWD, "XXX");        curl_setopt($process, CURLOPT_HEADER, 0);        curl_setopt($process, CURLOPT_TIMEOUT, 60);        // 本地待上传的图片文件        $local_file_path = '.' . $img;        $datas = fopen($local_file_path, 'r');        fseek($datas, 0, SEEK_END);        $file_length = ftell($datas);        fseek($datas, 0);        // 设置待上传图片的内容        curl_setopt($process, CURLOPT_INFILE, $datas);        // 设置待上传图片的长度        curl_setopt($process, CURLOPT_INFILESIZE, $file_length);        curl_setopt($process, CURLOPT_HTTPHEADER, array(            //'x-gmkerl-type: fix_width',            // 'x-gmkerl-value: 200',            'x-gmkerl-unsharp: true',            'Mkdir:true',        ));        curl_exec($process);        //  $info=curl_getinfo($process);        curl_close($process);        fclose($datas);        //删除图片        @unlink ('./'.$img);        return $img = '/upload/' .date('Ymd').$img;    }//=============================================END=====================================================================

 

转载于:https://www.cnblogs.com/henry-xu/p/6849615.html

你可能感兴趣的文章
各种语言推断是否是手机设备
查看>>
这个看起来有点简单!--------实验吧
查看>>
PHP count down
查看>>
JVM参数调优:Eclipse启动实践
查看>>
(旧笔记搬家)struts.xml中单独页面跳转的配置
查看>>
不定期周末福利:数据结构与算法学习书单
查看>>
strlen函数
查看>>
python的列表与shell的数组
查看>>
关于TFS2010使用常见问题
查看>>
软件工程团队作业3
查看>>
python标准库——queue模块 的queue类(单向队列)
查看>>
火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题...
查看>>
深入理解JVM读书笔记--字节码执行引擎
查看>>
vue-搜索功能-实时监听搜索框的输入,N毫秒请求一次数据
查看>>
批处理 windows 服务的安装与卸载
查看>>
React文档翻译 (快速入门)
查看>>
nodejs fs路径
查看>>
动态规划算法之最大子段和
查看>>
linux c:关联变量的双for循环
查看>>
深入浅出理解zend framework(三)
查看>>